eserver.subscribe('xend.virq', self.onVirq)
self.initial_refresh()
- dom0 = self.domain_lookup(0)
- if not dom0:
- dom0 = self.domain_unknown(0)
-
def list(self):
"""Get list of domain objects.
self._delete_domain(domid)
self.refresh(cleanup=True)
+ dom0 = self.domain_lookup(0)
+ if not dom0:
+ dom0 = self.domain_unknown(0)
+ dom0.dom0_init_store()
+
def close(self):
pass
"""
dom = info['dom']
vm = cls(db)
+ vm.setdom(dom)
db.readDB()
vm.importFromDB()
config = vm.config
log.debug('info=' + str(info))
log.debug('config=' + prettyprintstring(config))
- vm.setdom(dom)
vm.memory = info['mem_kb']/1024
if config:
def importFromDB(self):
self.db.importFromDB(self, fields=self.__exports__)
+ self.store_channel = self.eventChannel("store_channel")
def setdom(self, dom):
"""Set the domain id.
return 0
return timeout - (time.time() - self.shutdown_pending['start'])
+ def dom0_init_store(self):
+ if not self.store_channel:
+ self.store_channel = self.eventChannel("store_channel")
+ self.store_mfn = xc.init_store(self.store_channel.port2)
+ if self.store_mfn >= 0:
+ try:
+ self.db.introduceDomain(self.id, self.store_mfn,
+ self.store_channel)
+ except:
+ pass
+ self.exportToDB(save=True, sync=True)
+
def vm_field_ignore(vm, config, val, index):
"""Dummy config field handler used for fields with built-in handling.